int do_touch(char* filePath)
{
	char fullPath[MAX_PATH_LENGTH];
	LOC fileLocation;
	MINODE* fileInode;
	
	if (filePath[0] != '/')
	{
		char tmp[MAX_PATH_LENGTH];
		get_pwd_name(runningProc->cwd, tmp);
		strcat(tmp, filePath);
		strcpy(fullPath, tmp);
	}
	else
		strcpy(fullPath, filePath);
		
	fileLocation = get_inode_number(fullPath);
	
	/* Need to create the file */
	if (fileLocation.inodeNum == 0)
	{
		if (do_create(fullPath) == -1)
			return -1;
		fileLocation = get_inode_number(fullPath);
	}
	
	/* Load inode */
	fileInode = get_inode(fileLocation.deviceHandle, fileLocation.inodeNum);
	if (fileInode == 0)
		return -1;
		
	fileInode->inode.i_atime = time(0);
	fileInode->inode.i_mtime = time(0);
	fileInode->dirty = true;
	
	put_inode(fileInode);
	return 1;
}
